Circuit and method for storing information in non-volatile memory during a loss of power event

ABSTRACT

A data storage circuit for storing data from volatile memory in response to a power loss, the data storage circuit including an input for receiving a power loss signal in response to a power loss from at least one power source, an input configured to receive data from a volatile memory, a single block of non-volatile matrix of memory cells and a driver circuit coupled to said single row of non-volatile matrix of memory cells. The driver circuit is configured to write data to and read data from said single block of non-volatile matrix of memory cells. The single block of non-volatile matrix of memory cells can be provided as a single row electrically erasable programmable read only memory (EEPROM).

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. application Ser. No. 15/720,533, filed Sep. 29, 2017, which is incorporated herein by reference in its entirety.

BACKGROUND

In many systems, important data may need to be saved upon an interruption of power in order to resume normal system operation when power is restored. In some systems, saving this information requires circuitry having a large backup power source (e.g., a battery and/or large capacitor) having enough stored energy to keep the circuitry operational while data is saved during a shutdown process.

Because non-volatile memory (memory that can retain data without a power connection) is generally slower and less robust for handling repeated in-process data storage, circuits typically include volatile memory (e.g., RAM) for saving data during real-time operations (e.g., tracking in memory the position of a moving object). On the other hand, non-volatile memory such as an electrically erasable read only memory (EEPROM) is often used for storing data when a continuous power source isn't available and/or data needs to be saved and restored when a system powers down and restarts. In some systems, volatile memory may include memory registers which operate to store and/or update the continuous stream of data.

A vehicular electronic steering system is an example of a system which continuously updates memory in order to track and update the position of a steering wheel. Circuitry used in some electronic steering systems includes a so-called “turns count register” that is used to keep count of a number of wheel turns beyond 360 degrees e.g. the number of turns made by a gear tooth. The angular change for which the register is incremented/decremented is programmable.

The turns count register circuitry receives power from a power supply. If the power supply fails or is otherwise disconnected from the circuitry, the information in the turns counter register may be lost.

To prevent loss of information from the turns counter register, the part may also comprise a non-volatile memory (i.e. a memory not affected by the loss of power such as an EEPROM) in which information from the turns counter register may be stored in response to power loss. To transfer data from the part to the non-volatile memory, a control pulse having a predetermined voltage (e.g. 19 volts) must be applied to the EEPROM for a predetermined amount of time (e.g. about 10 milliseconds). One way to ensure that such a pulse is provided in the event of a loss of power from power supply is to have an external capacitor of considerable size (e.g. having a capacitance in the microFarad range) which can power a charge-pump (and associated control circuitry) and the non-volatile memory (e.g. an EEPROM) for an amount of time sufficient for the pulse to be applied.

Such large external capacitors take up critical space where demands for ever smaller circuitry, for which more sensitive data is becoming needed for storage and during a power interruption as such systems become more complex and data intensive. Thus, circuitry for saving larger amounts of data using less power is desired.

SUMMARY

This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

In accordance with the concepts, systems and techniques described herein, a circuit includes: (a) a matrix of non-volatile memory cells capable of backing up data in the event of a power loss (b) a main memory; (c) a main memory controller coupled to said main memory; (d) a single row of memory cells that are detached from the matrix such that the circuit can be configured to write data to the single detached block without writing or overwriting data in the matrix.

In embodiments, the circuit can be configured such that the detached block operates as if it were a connected block of the matrix.

In embodiments, the matrix is a programmable nonvolatile memory such as an electrically erasable read only memory (EEPROM) and the detached block is a single EEPROM row detached from (or independent of) the EEPROM matrix. It should, of course, also be appreciated that the detachable block may also be provided as a single, detached, EEPROM column or from one or more groups of independent EEPROM cells (e.g. individual cells configured to form or operate as a block).

In embodiments, the circuit can detect loss-of-power events and in response to a detection of a loss of power automatically stores at least portions of contents of main memory (e.g., volatile memory) to the detached block without using the added power that would normally be needed to write to the detached block if it were integrated normally with the matrix memory.

In an embodiment, a turns counter register in non-volatile memory is provided for tracking the movement and/or position of an object. In an embodiment, the turns count register is connected to a steering wheel and column in order to track the position of the steering wheel and thus the position of the steering wheel or steering mechanism. By providing the non-volatile memory as a single EEPROM block (e.g., one or more cells or a row or a column) detached from other blocks in an EEPROM, data from the turns count register can be stored in a portion of the EEPROM without needing to power the entire EEPROM and/or other non-volatile memory.

A circuit provided in accordance with some EEPROM embodiments described herein has at least two advantages over prior art circuits: first, because a single EEPROM block is used, ones and zeros can be programmed concurrently which means that only a single pulse is needed in contrast with conventional EEPROMS which typically require a first pulse to erase the block and a second pulse to set selected bits to a desired logical value—e.g. a logical value of one); and second, since the independent memory (i.e. single EEPROM block) contains its own simpler drivers (e.g. EEPROM drivers) and a simpler overall arrangement, the amount of power needed to activate and/or program the single EEPROM block is much less than is required to power and/or program a conventional EEPROM matrix.

Furthermore, in order to save space required by control switches, the cells (bits) on a conventional EEPROM matrix are not addressed individually, but rather are typically addressed in rows. This may lead to some complications with respect to how the programming/erasing voltages are applied to the EEPROM cells. For example, some conventional EEPROM matrices, utilize ⅓, ⅔ voltages to avoid inadvertently programming other cells in an addressing matrix.

In the embodiments described herein, however, a single pulse is used to program the EEPROM block. There is no need to utilize ⅓, ⅔ voltages common to existing EEPROM designs to avoid inadvertently programming other cells in an addressing matrix. Since there is no need for ⅓, ⅔ voltages, emergency backup data circuits and systems provided in accordance with the concepts described herein need not drive a ⅓, ⅔ resistor divider which saves current. This provides an extra degree of freedom to optimize (i.e., ideally minimize) power consumption and area/complexity.

Thus, use of a single EEPROM block enables concurrent programming of bits with a single pulse and provides an extra degree of freedom to optimize power consumption and area/complexity.

In accordance with one aspect of the concepts described herein, data storage circuit for storing data from volatile memory in response to a power loss includes an input for receiving a power loss signal in response to a power loss from at least one power source, an input configured to receive data from a volatile memory, a single block of non-volatile matrix of memory cells and a driver circuit coupled to said single block of non-volatile matrix of memory cells, said driver circuit configured to write data to and read data from said single block of non-volatile matrix of memory cells, the driver circuit further configured to write to said single block with a single control pulse.

The data storage circuit may include one or more of the following features independently or in combination with one or more other features to include wherein the single block of non-volatile matrix of memory cells is provided as a single block electrically erasable programmable read only memory (EEPROM); wherein the driver circuit is provided as a single block EEPROM driver circuit coupled to the single block EEPROM, the EEPROM driver circuit configured to write data to and read data from the single block EEPROM; wherein the single block of non-volatile matrix of memory cells is a single row EEPROM; wherein the single block EEPROM is provided as one of a plurality of rows and a plurality of columns of a matrix of EEPROM cells configured and arranged for being written to by utilizing collective row and column operations by one or more driver circuits and wherein the single block EEPROM corresponds to an independent block of the matrix of EEPROM cells and wherein the single block of EEPROM cells is further configured such that in response to the data storage circuit receiving a power loss signal, data is written from a volatile memory to the single block of EEPROM cells; where the circuit further includes a controller configured to receive the power loss signal and in response thereto to write data from a volatile memory to the independent single block of non-volatile matrix of memory cells via the single block EEPROM driver circuit; wherein the single block of non-volatile matrix of memory cells is provided as one of a plurality of rows and a plurality of columns of a non-volatile matrix of memory cells configured and arranged for being written to by utilizing collective row and column operations by one or more driver circuits; wherein the single block of non-volatile matrix of memory cells corresponds to an independent block of the matrix of memory cells; wherein the single block of non-volatile matrix of memory cells is further configured and arranged for being written to independently of the other memory cells of the matrix of memory cells in response to the power loss signal.

In accordance with a further aspect of the concepts described herein, a data storage circuit for storing data from volatile memory in response to a power loss includes an input for receiving a power loss signal in response to a power loss from at least one power source, an input configured to receive data from volatile memory, a non-volatile matrix of memory cells comprising a plurality of rows and a plurality of columns configured and arranged for being written to by utilizing collective row and column operations in the absence of a power loss, the plurality of memory cells including an independent subset block of memory cells further configured and arranged for being written to independently of each of the other memory cells in response to the power loss signal and a controller configured to receive the power loss signal and configured to write data from said volatile memory to said independent subset block in response to receiving the power loss signal.

The data storage circuit may include one or more of the following features independently or in combination with one or more other features to include the non-volatile matrix of memory cells forms the memory of an EEPROM; the data storage circuit may further include a plurality of EEPROM column drivers and a plurality of EEPROM row drivers, the plurality of EEPROM column and row drivers arranged and configured to coordinate reading and writing to multiple rows and columns of the EEPROM; an energy storing device; the controller is configured, in response to the power loss signal, to selectively direct energy from the energy storing device to writing of data from said volatile memory to said independent subset block; a clock signal generator, wherein the coordinated reading and writing from said plurality of column and row drivers is timed to a clock signal from the clock signal generator and wherein the writing of data from said volatile memory to said independent subset block in response to the power loss signal is controlled without utilizing a clock signal; wherein the controller is configured to write to the independent subset block in response to a power loss signal without overwriting at least a portion of the plurality of memory cells of the EEPROM; wherein the controller is configured to write to the independent subset block in response to a power loss signal without writing to any other of the plurality of memory cells of the EEPROM; an independent memory driver configured to be selectively powered from the energy storing device to write to the independent subset block in response to a power loss signal; wherein said independent subset block is an independent row of said EEPROM further comprising an independent row driver configured to be selectively powered from the energy storing device to write to the independent row in response to a power loss signal; wherein the energy storing device comprises a charge pump and a charge pump switch configured to release power stored in the charge pump when switched, the charge pump switch coupled between the charge pump and the independent memory driver and configured to switch closed by receiving a signal from the controller in response to the power loss signal; wherein the controller is arranged and configured to write data from said volatile memory to said independent subset block in less than about 10 milliseconds; wherein the volatile memory includes a turns count register configured and arranged to store a value representing the angle of rotation of an object; wherein the object is the steering wheel of a vehicle; wherein the volatile memory includes a turn register configured and arranged to store a value representing the rate of rotation of an object.

In accordance with a still further aspect of the concepts described herein, a method of transferring data from a volatile memory circuit to an EEPROM during a power interruption includes transmitting a power loss signal in a primary circuit, the power loss signal representing that a power supply coupled to the primary circuit has been interrupted, receiving the power loss signal in a controller, the controller configured to, in response to receiving the power loss signal, writing data from the volatile memory circuit to an independent EEPROM memory block of a matrix of memory cells of the EEPROM, the matrix having a plurality of rows and a plurality of columns of memory cell;, wherein the writing occurs while not writing to any of the other rows of the EEPROM that do not contain the memory block; and operating the matrix of memory cells, including the independent memory block, utilizing collective row and column EEPROM operations while the power loss signal is not active.

The data storage method may include one or more of the following features independently or in combination with one or more other features to include the writing to the independent block of the EEPROM is powered by residual power in the primary circuit; the residual power is supplied by power stored in a charge pump, the charge pump's residual power released by switching a charge pump switch in response to the power loss signal; writing data from the volatile memory circuit to an independent EEPROM block is executed without utilizing a clock signal.

In accordance with a still further aspect of the concepts described herein, a data storage circuit for storing data from volatile memory in response to a power loss includes means for writing data, in response to a power loss in the data storage circuit, from volatile memory to an independent memory clock of a matrix of non-volatile memory cells while not writing data to other memory cells of the matrix.

The data storage circuit may include one or more of the following features independently or in combination with one or more other features to include the non-volatile memory cells are cells of an EEPROM.

In an embodiment, the non-volatile memory cells are cells of an EEPROM.

In accordance with an integrated data storage circuit (IC) for storing data from volatile memory in response to a power loss includes volatile memory means, non-volatile memory means, means for detecting a loss of power to the IC and for providing a power loss signal in response to detection of a loss of power, and means, responsive to the power loss signal, for transferring data from said volatile memory means to said non-volatile memory means in response to the power loss signal.

In an embodiment, the non-volatile memory means is an EEPROM block means.

In an embodiment, the energy storage means is a capacitor and charge pump means.

In accordance with a still further aspect of the concepts described herein, a data storage circuit includes a charge pump, a main memory, a turns count register, a memory matrix of non-volatile memory cells, a main memory controller coupled to said main memory; an EEPROM memory block detached from the main memory controller and the memory matrix, one or more EEPROM programming switches, a first switch coupled between said charge pump and said EEPROM programming switches and a digital controller coupled to said first switch, said EEPROM programming switches and to said EEPROM wherein, in response to a loss of power to the turns count register, the digital controller places the first switch in a closed position such that said charge pump provides a signal which keeps the EEPROM programming switches biased for a period of time sufficient for data in the turns count register to be stored in a said detached EEPROM memory block.

In accordance with a still further aspect of the concepts described herein a data storage circuit for storing data from volatile memory in response to a power loss includes an input for receiving a power loss signal in response to a power loss from at least one power source, an input configured to receive data from a volatile memory, an energy storage devices, one or more switch elements coupled between the energy storage device and said single block of nonvolatile matrix of memory cells said one or more switch elements configured to selectively couple said single block of nonvolatile memory to said energy storage device in response to an indication of power loss, a single block of non-volatile matrix of memory cell and a driver circuit coupled to said single block of non-volatile matrix of memory cells, said driver circuit responsive to the power loss signal and configured to write data to and read data from said single block of non-volatile matrix of memory cells, the driver circuit further configured to write to said single block with a single control pulse in response to an indication of power loss provided thereto.

In an embodiment, the period of time is about 10 milliseconds or less.

In an embodiment, the energy storage device is configured to store no more than about the energy required to keep the EEPROM programming switches biased for the period of time.

BRIEF DESCRIPTION OF THE DRAWINGS

Other aspects, features, and advantages of the claimed concepts will become more fully apparent from the following detailed description, the appended claims, and the accompanying drawings in which like reference numerals identify similar or identical elements. Reference numerals that are introduced in the specification in association with a drawing figure may be repeated in one or more subsequent figures without additional description in the specification in order to provide context for other features. Furthermore, the drawings are not necessarily to scale, emphasis instead being placed on the concepts disclosed herein.

The foregoing features may be more fully understood from the following description of the drawings in which:

FIG. 1 is a block diagram of a circuit for storing information in non-volatile memory in response to a loss of power according to some embodiments;

FIG. 2 is a block diagram of a circuit for storing information in non-volatile memory in response to a loss of power according to some embodiments;

FIG. 3 is a block diagram of a circuit for storing information in an electrically erasable read only memory (EEPROM) block in response to a loss of power according to some embodiments;

FIG. 4 is a block diagram of a circuit for storing information from register memory to an EEPROM in response to a loss of power according to some embodiments;

FIG. 5 is an isometric view of a portion of a vehicle which includes a circuit for storing information in non-volatile memory in response to a loss of power memory in response to a loss of power according to some embodiments; and

FIG. 6 is a block diagram of an electrically erasable read only memory (EEPROM) having a designated single EEPROM row for use in a circuit for storing information in non-volatile memory in response to a loss of power according to some embodiments.

DETAILED DESCRIPTION

Referring now to FIG. 1, a block diagram of an example circuit for storing information in non-volatile memory in response to a loss of power according to some embodiments is shown. A processing unit 110 receives input in a sensor 150 from a sensed field 145. In an embodiment, one or more analog signals 150 a and 150 b from the sensor 150 (e.g., a magnetic field sensor) are transmitted to an analog to digital converter (ADC) 140. ADC 140 receives the analog signals provided thereto and generates digital signals 140 a and 140 b that are further transmitted or otherwise coupled or provided to a digital processor 120.

Data from the ADC can be stored in main volatile memory 122 (e.g., RAM) or in a data storage unit 126 used at least in part for non-volatile data storage. Processing circuitry 124 processes storage of data in volatile memory 122 and data storage unit 126. A clock generator and timer circuit 105 is configured to send clock signals to the ADC 140 and processor 120 in order to time the processing, delivery, and storage of data from the ADC. In embodiments, the processing unit outputs signals 130 (including data from volatile memory 122 and the data storage unit 126) to components such as, for example, other elements of a system in which the processing unit 110 is integrated (e.g., the drive mechanism shown in FIG. 5).

A power loss detector 165 can detect a power loss in power signal 160 and in response thereto may deliver one or more signals to processor 120 indicating if appropriate power levels from a power source (not shown) is being provided to processing unit 110 (or to one or more circuits within processing unit 110).

In the event of receiving a power loss signal from detector 165, processor 120 is configured and programmed to begin a data retention process that transfers specific data present from volatile memory 122 into non-volatile memory (e.g., in data storage unit 126) such as further described in embodiments herein. In certain embodiments, the retention process utilizes and selectively focuses stored power on saving the specific data to selected non-volatile memory 122 such as an individual and detached electrically erasable read only memory (EEPROM) block (e.g., see FIGS. 2, 3, 4, and 6). This way, more data can be saved during a power loss and recovered when power is restored to the processing unit 110, without the need for high-footprint power storage elements (e.g., batteries, large capacitors) needed to power and operate an entire data storage system for long enough periods of time to save sensitive data.

In some embodiments, the sensed field corresponds to a system of magnetic field sensors used, for example, to track the position and/or rotation of an object such as a steering column of a vehicle (see, e.g., FIGS. 4 and 5 and accompanying description). In order to facilitate real-time tracking of the wheel rotation, a turns count register, for example, in volatile memory may be used to store input from a turns counter. When power to the system is interrupted, present embodiments can be used to transfer and save the position stored in the turns count register to non-volatile memory such as described. When the power to the system is restored, the turns count register can be updated from non-volatile memory.

Referring now to FIG. 2, a block diagram of a circuit for storing information in non-volatile memory in response to a loss of power is provided according to some embodiments. In an embodiment, an energy storage device 210 is configured for storing energy and for providing energy for saving data 250 (e.g., from a volatile memory) to non-volatile memory 230. Energy storage device 210 may, for example, be provided as one or more capacitive elements, a chargeable energy cell, one or more inductive elements or combinations of the above. A memory controller 240 is programmed and configured to receive data 250 and save the data to non-volatile memory 230 in response to a power loss signal 255. When the memory controller 240 receives power loss signal 255, controller 240 transmits a signal to one or more switch elements, here represented as a switch 215, that causes the switch (or switch elements) 215 to release power from the energy storage device 210 to power non-volatile memory (e.g. by closing the switch to provide a signal path between the energy storage device and the non-volatile memory).

The released power from energy storage device 210 allows data 250 which is forwarded from memory controller 240 to be stored in non-volatile memory 230. In an embodiment, non-volatile memory 230 is specially arranged to utilize that power from device 210 for only storing selected data to a dedicated selected portion of non-volatile memory 230 (e.g., a detached EEPROM block). In embodiments, that portion of non-volatile not used for storing the selected data is not powered by the released power from energy storage device 210. Further, in an embodiment, any portions of controller 240 needed to store data in memory 230 also receive power such as from an alternate power supply that provides power in the event of a power loss (e.g., backup power supply 350 of FIG. 3).

In an embodiment, during normal, fully powered operation, memory controller 240 manages the storage and transmission of data delivered through I/O interface 245, which can be stored in non-volatile memory 230 or volatile memory (not shown). In an embodiment, all of non-volatile memory 230 is powered and utilized during normal, fully powered operation.

Referring now to FIG. 3, a circuit 300 includes a charge pump 310 coupled through a switch 315 to a first terminal of a resistor 320. The second terminal of resistor 320 is coupled to an input of an EEPROM programming switch block 325. An output of programming switch block 325 is coupled to an electrically erasable programmable read only memory (EEPROM) block 330. When switches of switch block 325 are powered, they can be used to apply power to and program cells of EEPROM block 330 (depending upon the polarity of signal, a one or zero will be stored). EEPROM block 330 provides data to digital controller 340 in response to signals provided thereto. Digital controller 340 is coupled to switch 315 and programming switches 325 and provides control signals thereto such as for programming EEPROM block 330 with stored values. Digital controller 340 thus may configure programming switches 325 and may also access EEPROM 330 to read and/or write data thereto. In embodiments, an EEPROM block 330 is provided as a standalone single EEPROM block and may contain relatively simple and low power driver circuits which allows digital bits (e.g. ones and zeros) to be programmed concurrently via a single control pulse. Thus, use of a simple EEPROM block (e.g., a single row) enables concurrent programming of bits with a single pulse while needing a relatively small amount of power.

In an embodiment, a storage capacitor 312 within charge pump 310 is at substantially all times maintained at a reference voltage. The value of the reference voltage may be selected to suit the needs of a particular application, For example, in some applications, the reference voltage may be 15 V, in other applications the reference voltage may be 19 V and in still other applications other voltage levels greater than 19V or less than 15V may be used. In other embodiments, the charge pump is charged when a loss of power is detected, and its voltage maintained at the reference voltage (e.g., via a low power control circuit).

The switches to the EEPROM block 330 are also preconfigured (that is, set during “normal power” operation) to write desired data. In an embodiment, a backup power source 350 is connected to digital controller 340 and programming switches 325, and maintains power to these components for a period of time in the event of a power loss sufficient to bias digital controller into an operating state so that digital controller can operate one or both of switches 315, 325, charge pump 310 is dedicated to charging EEPROM block 330 in the event of a power loss. Thus, in this embodiment, backup power supply is relatively small, i.e. stores a relatively small amount of power compared with the energy storage device (here provided from charge pump 310 and capacitor 312) which provides power to the non-volatile memory (here provided as EEPROM block 330). In some embodiments, backup power supply 350 may be omitted or provided as part of energy storage device 309 in which case, energy storage device 309 provides power to digital control 340 and switches 315, 325.

A power loss can be signaled to digital controller 340 by a power loss signal 355 (e.g., by way of a power loss detector such as described herein). In an embodiment, digital controller then closes switch 315 and delivers signals to programming switches 325 in order to power and program EEPROM block 330.

In response to a loss of power, in an embodiment, the capacitor 312 and charge pump 310 then deliver a burst of power to an independent non-volatile memory block. In an embodiment, power is provided to the non-volatile memory block at a substantially constant voltage for a predetermined period of time. In one embodiment, a burst of power is delivered at around the reference voltage for about 10 ms. In one embodiment, the reference voltage is about 15 V or 19 V and the predetermined period of time is about 10 ms. In an embodiment, the capacitor 312 and charge pump 310 then deliver a burst of power to the independent EEPROM block 330 via the resistor 320 so as to provide a non-instantaneous ramp up and guarantee the required rise time of a high voltage pulse, thereby protecting the integrity of floating gates' within the EEPROM block 330 and keep the EEPROM block programming switches 325 biased for 10 ms (with negligible or very small static current consumption). In view of the present disclosure, various embodiments can be implemented as would be realized by one of ordinary skill in the art without the use of a resistor (such as resistor 320) that similarly avoid impacting the integrity of the floating gates within EEPROM block 330.

In an embodiment, if a clock 335 is driving circuit 300 during normal operation, the clock can be stopped (i.e., so it discontinues drawing power) or disconnected from the controller 340 and programming switches 325 so as a digital block within the controller 340 is frozen with the correct addressing for the switches 325, so the backup power supply 350 providing power to controller 340 in the event of a power loss can be relatively small.

In an embodiment, a volatile memory register (e.g., a turns count register) that stores the state of a field element (e.g., data from a turns counter such as, e.g., provided by an angle value signal 352) stored could be powered from an independent sub-supply e.g., backup supply 350) that remains on through its own small capacitor.

In some systems which already include an external capacitor (e.g. an integrated circuit or chip having an external capacitor coupled thereto) there is the option of repurposing such capacitor so that it is used for loss of power biasing (e.g. as backup power supply 350). Thus, such existing components and/or circuitry may be used for loss-of-power biasing (e.g., to controller 340), thereby avoiding the need for extra package pins or additional external components.

Referring now to FIG. 4, a block diagram of a circuit 400 for storing information from register memory (e.g., volatile memory 483) to an EEPROM 485 in response to a loss of power is provided. Also referring to FIG. 5, an isometric view of a steering system 500 of a vehicle (not shown) which includes a circuit (e.g., circuit 400 of FIG. 4) for storing information in non-volatile memory in response to a loss of power is provided according to some embodiments.

With reference to FIG. 4, an embodiment, a circular vertical hall (CVH) element 415 provides angular measurements of a rotating object (see, e.g., wheel 525). CVH element 415 provides angular analog data to an analog front end 430, which further processes the data via filtering and amplification operation and forwards the processed data to an analog-to-digital (ADC) converter 440. The ADC converts the analog data into digital data 441 for processing by digital processing circuit 470. The circuit 400 can be powered from a power source (e.g., a battery and/or external power).

In other embodiments, the angle sensor 435 can be of a different type, for example GMR, AMR, TMR, vertical Hall sensors in X and Y directions.

Digital processing circuit 470 can include circuitry to perform numerous data processing functions including a turns counter, a zero-angle monitor, a calibration process, and an RPM calculator among other functions known to those of ordinary skill in the art.

The circuit 400 can be integrated with, for example, a control unit 510 positioned on a rack 520 (FIG. 5) while CVH 415 can be connected to wheel 525 (FIG. 5) and/or a steering sensor 530 (FIG. 5) of a steering system 500 (FIG. 5) driven by a motor 540 (FIG. 5).

The digital processing circuit 470 includes memory block 480 including volatile memory 483 and non-volatile memory with an EEPROM 485. Volatile memory 483 can be used to store data associated with the aforementioned processing functions including, for example, by providing a turns count register to rapidly track and update turns count data from, for example, a turns counter 484. EEPROM 485 can be used to retain data associated with these processes, and such data may be provided to EEPROM 485 at various points in time such as when the circuit is shut down and depowered. For example, calibration and startup parameters specific to the CVH 435 can be saved in EEPROM 485 for use during startup and initialization of the circuit. The position of steering wheel 525, for example, tracked by a turns count register, can be saved to EEPROM 485 when power to the steering system 500 is interrupted or turned off so that when the steering system 500 is powered back on, the turns count register can be updated via the EEPROM 485 containing its last known position.

Referring now to FIG. 6, a block diagram of an EEPROM 600 having a designated single EEPROM row 650 for use in a circuit for storing information in non-volatile memory in response to a loss of power is provided according to some embodiments. A main memory controller 610 includes inputs 615 and 620 for control signals and data to be stored in the EEPROM 600 and outputs 625 for signals and data transmitted from EPPROM 600. The memory controller 610 further includes components 612 for external read margining and 618 with latching logic and buffers as would be understood by one of ordinary skill in the art. Comparator and resistive divider block 616 and row and column supplies 614 help facilitate reading and writing data to EEPROM rows 650, 650 a . . . 650 n-1. During normal, fully powered operation, column drivers 630 and row drivers 645 (e.g., containing row and column programming switches) work in concert to read and write data to EEPROM rows 650, 650 a . . . 650 n-1. A row decoder 640 calculates the appropriate row signals during reading and writing and has inputs 642 for receiving external signals and data for saving data to EEPROM rows.

EEPROM row 650 is independently writable from memory controller 610 and an independent memory driver. Independent memory driver 634 can utilize direct connections 636 to write directly to independent row 650 without the need to fully power general row and column drivers 630 and 645 and connections 632 and 646, thus saving power that would otherwise be necessary to write to a non-independent row (e.g., rows 650 a . . . 650 n-1). In this embodiment, driver 634 drives each of the columns of the row, however, there is only one cell per column.

In should be appreciated that independent row 650 can be substituted for other memory configurations that can include, for example, blocks of memory cells formed from numerous columns and rows or portions thereof.

The concepts, circuits, systems and techniques described herein find broad applicability in the sensor circuitry industry. Specifically, the conceived independent EEPROM row and described configurations therefor can be used in sensor systems that are based upon sensing and storing various types of continuous data that are used to track components thereof, such as generated from other components of vehicular systems like drive trains and other systems that need to store select sensitive data in the event of electric power interruptions).

It should be appreciated that portions of the processing described herein may be performed by circuits, such as a digital signal processor circuit, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), or conventional electrical or electronic systems or circuits. Some processing may be manually performed, while other processing blocks may be performed by circuitry and/or one or more processors. It should be noted that unless otherwise indicated herein, the particular sequences or processes described are illustrative only and can be varied without departing from the spirit of the concepts described and/or claimed herein. Thus, unless otherwise stated, the processes described are unordered meaning that, when possible, the sequences described can be performed in any convenient or desirable order.

While particular embodiments of concepts, systems, circuits and techniques have been shown and described, it will be apparent to those of ordinary skill in the art that various changes and modifications in form and details may be made therein without departing from the spirit and scope of the concepts, systems and techniques described herein. For example, some of the presented implementation examples show a system which saves a single piece of type of data. It will be appreciated that the concepts described herein can be used in systems in which it is necessary or desirable to save a variety of different types or pieces of data in which case it may be necessary to use EEPROMs having more than one block or row or to use multiple, single block or row EEPROMs and associated circuitry.

The data for saving in an independent EEPROM block is ideally selected depending upon the particular type of system fields that need to be restored upon startup (e.g. last known position in a GPS, orientation, time).

Having described preferred embodiments which serve to illustrate various concepts, systems circuits and techniques, which are the subject of this patent, it will now become apparent to those of ordinary skill in the art that other embodiments incorporating these concepts, systems circuits and techniques may be used. For example, it should be noted that individual concepts, features (or elements) and techniques of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Furthermore, various concepts, features (or elements) and techniques, which are described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination. It is thus expected that other embodiments not specifically described herein are also within the scope of the following claims.

In addition, it is intended that the scope of the present claims include all other foreseeable equivalents to the elements and structures as described herein and with reference to the drawing figures. Accordingly, the subject matter sought to be protected herein is to be limited only by the scope of the claims and their equivalents.

It should thus be appreciated that elements of different embodiments described herein may be combined to form other embodiments which may not be specifically set forth herein. Various elements, which are described in the context of a single embodiment, may also be provided separately or in any suitable subcombination. Other embodiments not specifically described herein are also within the scope of the following claims.

It is felt, therefore that the concepts, systems, circuits and techniques described herein should not be limited by the above description, but only as defined by the spirit and scope of the following claims which encompass, within their scope, all such changes and modifications.

All publications and references cited herein are expressly incorporated herein by reference in their entirety. 

1. A data storage circuit for storing data, from volatile memory having a turns count register for storing a value representing an angle of rotation of an object, in response to a power loss, the data storage circuit comprising: a non-volatile matrix of memory cells comprising an independent subset block of memory cells; and a controller comprising a plurality of drivers including row and column drivers and an independent driver, the controller configured to: in the absence of a power loss, write data from the volatile memory to the non-volatile matrix of memory cells using the row and column drivers to perform collective row and column operations; and in response to receiving a power loss signal write data from said volatile memory to said independent subset block by selectively supplying energy to the independent driver and not the row and column drivers.
 2. The data storage circuit of claim 1 wherein the object is the steering wheel of a vehicle.
 3. The data storage circuit of claim 1 further comprising an energy storing device, wherein the non-volatile matrix of memory cells forms the memory of an EEPROM, and wherein the row and column drivers are EEPROM row and columns drivers, respectively, and wherein the controller is further configured, in response to receiving the power loss signal, to selectively supply energy from the energy storing device to the independent driver.
 4. The data storage circuit of claim 3 wherein the controller is arranged and configured to write data from said volatile memory to said independent subset block in less than about 10 milliseconds.
 5. A data storage circuit comprising: a charge pump; a main memory; a turns count register; a memory matrix of non-volatile memory cells; a main memory controller coupled to said main memory; an EEPROM memory block detached from the main memory controller and the memory matrix; one or more EEPROM programming switches; a first switch coupled between said charge pump and said EEPROM programming switches; and a digital controller coupled to said first switch, said EEPROM programming switches and to said EEPROM wherein, in response to a loss of power to the turns count register, the digital controller places the first switch in a closed position such that said charge pump provides a signal which keeps the EEPROM programming switches biased for a period of time sufficient for data in the turns count register to be stored in a said detached EEPROM memory block.
 6. The data storage circuit of claim 5 wherein said period of time is about 10 milliseconds or less.
 7. The data storage circuit of claim 6 wherein the energy storage device is configured to store no more than about the energy required to keep the EEPROM programming switches biased for said period of time.
 8. The data storage circuit of claim 5 wherein the turns count register is configured to store a value representing the angle of rotation of an object.
 9. The data storage circuit of claim 8 wherein the object is the steering wheel of a vehicle.
 10. A method of storing data from volatile memory having a turns count register for storing a value representing an angle of rotation of an object, the method comprising: in response to a controller circuit receiving, from a primary circuit coupled to the volatile memory, a signal indicating a loss of power in the volatile memory, writing the data by the controller circuit from the volatile memory into a single row of an EEPROM memory having a plurality of row drivers, wherein writing the data into the single row includes powering only a single row driver of the plurality.
 11. The method of claim 10 wherein writing the data into the single row by the controller does not utilize a clock signal.
 12. The method of claim 10 wherein powering only the single row driver includes using residual power in the primary circuit.
 13. The method of claim 12 wherein the primary circuit comprises a charge pump, and wherein using the residual power comprises releasing the residual power from the charge pump. 